
#ifndef MY_CMD_LIB_H_
#define MY_CMD_LIB_H_

#define GPIOD_F GPIO_PIN_3
#define GPIOA_F GPIO_PIN_6
#define GPIOD_B GPIO_PIN_2
#define GPIOA_B GPIO_PIN_7
#define TARGET 14.5

typedef	struct cmd_type {
	char cmd_name[6];
	void (*func)(void);
} cmd_type;

typedef struct cmd_Table_type {
	cmd_type* cmd_Tablearray;
	uint8_t cmd_num;
} cmd_Table_type;

typedef enum robot_stateENUM {
	NONELINE, THINLINE1, THINLINE2, THICKLINE
} robot_state;

extern robot_state current_state;
extern cmd_Table_type cmd_Table;
extern bool STOP;

void clear_terminal(void);
void WheelStop(void);
void RWFollowWall(void);
void PIDparasSet(void);
void PIDparasGet(void);
void testForward(void);
void testUturn(void);


#endif /* MY_CMD_LIB_H_ */
